import Router from '@koa/router';
import * as notificationController from '../controllers/notification.controller';
import { authMiddleware, adminMiddleware } from '../middleware/auth';

const router = new Router({
  prefix: '/api/notifications',
});

// 所有路由都需要认证
router.use(authMiddleware);

// ========== 后台管理接口（仅管理员） ==========

// 创建通知（仅管理员）
router.post('/create', adminMiddleware, notificationController.createNotification);

// 更新通知（仅管理员）
router.post('/update', adminMiddleware, notificationController.updateNotification);

// 删除通知（仅管理员）
router.post('/delete', adminMiddleware, notificationController.deleteNotification);

// 查询通知列表（后台管理 - 仅管理员）
router.post('/list', adminMiddleware, notificationController.getNotificationList);

// 查询通知详情（后台管理 - 仅管理员）
router.post('/detail', adminMiddleware, notificationController.getNotificationDetail);

// 推送通知（仅管理员）
router.post('/push', adminMiddleware, notificationController.pushNotification);

// ========== 前台用户接口 ==========

// 查询我的通知列表（前台用户）
router.post('/my-list', notificationController.getMyNotifications);

// 查询我的通知详情（前台用户）
router.post('/my-detail', notificationController.getMyNotificationDetail);

// 标记通知为已读（前台用户）
router.post('/read', notificationController.markNotificationAsRead);

// 标记所有通知为已读（前台用户）
router.post('/read-all', notificationController.markAllNotificationsAsRead);

export default router;

